=begin
this test file show how opt2 works
for the moment, compiler doesn't make difference between
f_side_effect and f_no_side_effect and doesn't remove ALL useless assignment
=end
def f_no_side_effect (v)
	return v
end

def f_side_effect (v)
	print v
	return v
end

a = 1
a = f_side_effect (a)
a = f_side_effect (a)
a = f_no_side_effect (a)
a = 2
b = 1
c = 1

while ( a < 0 )
	a = a - 1
	gp = 4
	gp = 5
end
a = 9
g = 1

a = 3
b = a
d = 1
print b
b = a
a = 4
z = 4
print z
if ( true)
	z = 2
	p = 7.5
elsif (true)
	z = 1
	z = 3
	a = 4
end
print p
z = 4